package com.atguigu.day15.wrappertest;

import org.junit.Test;
/*
包装类: 基本数据类型的对象类型
   why: 某些场景下 不能使用基本数据类型 泛型
   基本数据类型对应的包装类型:
       byte     Byte
       short    Short
       int      Integer
       long     Long
       float    Float
       double   Double
       char     Character
       boolean  Boolean
   装箱与拆箱:
      装箱: 将基本数据类型 --> 包装类型
            自动装箱: 直接将基本类型数据赋值给包装类型
                     Integer i = 10; 底层使用了 包装类型.valueOf(基本数据类型的值)
      拆箱: 将包装类型--> 基本数据类型
            自动拆箱: 把包装类型的值 赋值给基本数据类型
   包装类型对比基本数据类型提供了额外的方法对数据处理:
       基本数据类型<-->字符串:
                  基本数据类型-->字符串: String.valueOf(基本数据类型的值)
                  基本数据类型<--字符串:
                                    char: 字符串对象.charAt(下标)
                                    非char: 包装类型.parse基本数据类型("字符串")
                                            Integer.parseInt("123");
       其他的方法:
 */
public class WrapperTest2 {

    @Test
    public void test04(){
        //将其他进制转为10进制展示
        System.out.println(0B110);
        System.out.println(0X11);
        System.out.println(011);

        //将10进制转为其他进制
        System.out.println("Integer.toBinaryString(6) = " + Integer.toBinaryString(6));
        System.out.println("Integer.toOctalString(13) = " + Integer.toOctalString(13));
        System.out.println("Integer.toHexString(19) = " + Integer.toHexString(19));


    }

    @Test
    public void test03(){
        System.out.println("Integer.MAX_VALUE = " + Integer.MAX_VALUE);
        System.out.println("Integer.MIN_VALUE = " + Integer.MIN_VALUE);

        System.out.println("Long.MAX_VALUE = " + Long.MAX_VALUE);
        System.out.println("Long.MIN_VALUE = " + Long.MIN_VALUE);

        System.out.println("Integer.max(20,30) = " + Integer.max(20, 30));

        System.out.println("Integer.min(1,9) = " + Integer.min(1, 9));


        System.out.println("Integer.compare(5,9) = " + Integer.compare(5, 9));

        System.out.println("Double.compare(3.1,3.9) = " + Double.compare(3.1, 3.9));
        System.out.println("Double.compare(3.5,3.1) = " + Double.compare(3.5, 3.1));
    }



    @Test
    public void test02(){
        //todo 基本数据类型 <--- 字符串
        String s = "1234";
        int parseInt = Integer.parseInt(s);
        System.out.println("parseInt = " + parseInt);

        double parseDouble = Double.parseDouble("3.14");
        System.out.println("parseDouble = " + parseDouble);

        boolean parseBoolean = Boolean.parseBoolean("true");
        System.out.println("parseBoolean = " + parseBoolean);

        String s2 = "A";
        char c = s2.charAt(0);
        System.out.println("c = " + c);


    }
    @Test
    public void test01(){
        //todo 基本数据类型 ---> 字符串

        int m = 10;
        double d = 3.14;
        boolean b = true;

        String s = String.valueOf(m);
        System.out.println("s = " + s);


    }
}
